The KDE PLasma Desktop Environment's File Indexing and File Searching backend, Baloo, is an extremely fast and useful tool of the Plasma DE. It enables among other features, krunner's extremely fast population of search results. Unfortunately, depending on its configuration, it can cause intermittent unresponsiveness during its initial indexing. Having been introduced to the Phoronix Test Suite, I thought I would use it to measure the impact of baloo on system performance. This article presents some a comparison of test results of PTS tests with Baloo actively indexing files and with all Baloo processes stopped.
According to the KDE Community Wiki page on Baloo:
Baloo is the file indexing and file search framework for KDE Plasma...Baloo focuses on providing a very small memory footprint along with with extremely fast searching. Baloo is not an application, but a daemon to index files. Applications can use the Baloo framework to provide file search results.This development focus on the speed of searches was fruitful. Baloo search results are displayed impressively quickly. For example, in one of the applications that use the framework, krunner, extended results -- including items not in recent documents or recent applications, appear almost instantly.
baloo
. htop shows that at one cycle, the subprocess of baloo_file
, baloo_file_extractor
is using 73.1% of CPU time and 10.3% of the 16GB memory of my Acer V15 Nitro Black Edition.
baloo_file_extractor
process is spawned by the main baloo_file
process, and this is the process that consumes nearly all of the resources of the two baloo processes.
When I first encountered this problem with baloo I thought it was a problem with the implementation by openSUSE Tumbleweed, but it is occurring in other distributions' implementations of Plasma as well, not because of some defect, but because in my case I have over 900,000 files in locations to be indexed and I chose to enable the indexing of file contents in addition to file names.
I chose only a small subset of only two of the tests that are available with Phoronix Test Suite to minimize the time that the computer -- the specs of which, collected by Phoronix Test Suite, are shown below -- would be unusable to me while the tests were executing.
Of the twenty four test runs in this set of test runs, the system performed better in twenty-three of the twenty-four cases when the baloo processes were not running.